package com.koko.service;

import com.github.pagehelper.Page;
import com.koko.game.dto.CategoryCardDTO;
import com.koko.game.dto.CategoryDTO;
import com.koko.game.dto.CategoryPageQueryDTO;
import com.koko.game.dto.GameCategoriesDTO;
import com.koko.game.entity.Category;
import com.koko.game.vo.CategoryVO;

import java.util.List;

public interface CategoryService {
    Page<Category> pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);

    void save(CategoryDTO categoryDTO);

    void deleteBatch(List<Long> ids);

    void update(CategoryDTO categoryDTO);

    Category getById(Long id);

    Category getByName(String name);

    List<CategoryVO> getCategoryByGameId(Long gameId);

    void updateCategoriesInGame(GameCategoriesDTO gameCategoriesDTO);

    List<CategoryVO> getAllCategories(String name);

    void addCategoriesInGame(GameCategoriesDTO gameCategoriesDTO);

    List<String> getCategoryNameByGameId(Long gameId);

    List<CategoryVO> getCategoryList(CategoryCardDTO categoryCardDTO);
}
